#include "pch.h"
#include "Tessellation.h"
#include "RendererEngine.h"

namespace mini
{

	CTessellation::CTessellation()
	{

	}

	CTessellation::~CTessellation()
	{

	}

	void CTessellation::update(float fDeltaTime)
	{
		CActor::update(fDeltaTime);
		for (auto item : mpMaterialUnits)
		{
			auto& matrices = CRendererEngine::getSinglePtr()->getTransposeMatrices();
			item->getShaderUnit(0)->updateDSConstBuffer("MatrixBuffer", &matrices[0]);
		}
	}

	void CTessellation::updateHullData(const std::string& name, void* pData)
	{
		for (auto item : mpMaterialUnits)
		{
			item->getShaderUnit(0)->updateHSConstBuffer(name, pData);
		}
	}

	void CTessellation::updateDomainData(const std::string& name, void* pData)
	{
		for (auto item : mpMaterialUnits)
		{
			item->getShaderUnit(0)->updateHSConstBuffer(name, pData);
		}
	}
}
